Reuse in Software Verification
نویسندگان
چکیده
A major obstacle facing adoption of formal software verification is the difficulty to track changes in the target code and to accomodate them in specifications and in verification arguments. We introduce abstract method calls, a new verification rule for method calls that can be used in most contract-based verification settings. By combining abstract method calls, structured reuse in specification contracts, and caching of verification conditions, it is possible to detect reusability of contracts automatically via first-order reasoning. This is the basis for a verification framework that is able to deal with code undergoing frequent changes.
منابع مشابه
Pragmatic Verification Reuse in a Vertical World
Successful application of block-level verification reuse improves the effectiveness of the top-level environment by providing additional checks, coverage and messages (and in some cases stimulus) which, as well as detecting more bugs, helps speed up debug for other system-level defects by providing improved internal visibility and enhanced bug isolation. Despite these benefits consistent effici...
متن کاملA methodology for vertical Reuse of functional verification from subsystem to SoC level with seamless SoC emulation
Verifying a complex SoC is challenging. The testbench and testcases must be developed early as these are used for everything from SoC verification to achieve higher coverage on features/protocol coverage, i/f integration and performance verification. Time to market makes early software development a necessity. Verification assisted with early software development needs more than dynamic simulat...
متن کاملVerification Reuse and Frameworks
Design patterns and frameworks as reuse mechanisms hold much promise in the continuing effort to manage software complexity. They provide a vehicle for experts to convey their experience to other software designers. The formal verification of programs is an aspect of system development which software designers find difficult and cumbersome. This is mainly due to the complexity and amount of wor...
متن کاملPatterns in Software Requirements Reuse
Requirements reuse is an emerging field of software engineering research. This article introduces its fundamental concepts. It begins with a brief review of the selected approaches to reusing software requirements. Then, the article builds a reuse framework for the requirements engineering process. Subsequently, it evaluates various methods and techniques that can be used to assist the process ...
متن کاملComponent - Based Hardware / Software Co - Verification for Building Trustworthy
We present a novel component-based approach to hardware/software co-verification of embedded systems using model checking. Embedded systems are pervasive and often mission-critical, therefore, they must be highly trustworthy. Trustworthy embedded systems require extensive verification. The close interactions between hardware and software of embedded systems demand co-verification. Due to their ...
متن کامل